﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace WebshopPizzaRio
{
    public class BestellenBLL
    {
        private WebshopPizzaRio.App_Code.DAL.BestellenDALTableAdapters.gastTableAdapter gastadapter = new WebshopPizzaRio.App_Code.DAL.BestellenDALTableAdapters.gastTableAdapter();
        private WebshopPizzaRio.App_Code.DAL.BestellenDALTableAdapters.productverkoopTableAdapter productverkoopadapter = new WebshopPizzaRio.App_Code.DAL.BestellenDALTableAdapters.productverkoopTableAdapter();
        private WebshopPizzaRio.App_Code.DAL.BestellenDALTableAdapters.verkoopTableAdapter verkoopadapter = new WebshopPizzaRio.App_Code.DAL.BestellenDALTableAdapters.verkoopTableAdapter();
        private WebshopPizzaRio.App_Code.DAL.BestellenDALTableAdapters.Membership_NaamAdresWoonplaatsTableAdapter useradapter = new WebshopPizzaRio.App_Code.DAL.BestellenDALTableAdapters.Membership_NaamAdresWoonplaatsTableAdapter();
        private int verkoopnummer;
        private int gastid;

        public BestellenBLL()
        {
            verkoopnummer = getMaxVerkoopNummer();
            gastid = getMaxGastID();
        }

        public void UpdateBestellingNAW(Guid userid, String voornaam, String achternaam, String adres, String woonplaats, String telefoon)
        {
            useradapter.UpdateBestellingUserNAW(voornaam, achternaam, adres, woonplaats, telefoon, userid);
        }

        public void InsertNewVerkoop(int pizzaid, int aantal)
        {
            verkoopadapter.InsertNewVerkoop(verkoopnummer, pizzaid, aantal);
        }

        public void InsertBestellingGast(String voornaam, String achternaam, String adres, String woonplaats, String telefoonnummer)
        {
            gastadapter.InsertBestellingGast(gastid, voornaam, achternaam, adres, woonplaats, telefoonnummer);
        }

        public void InsertProductVerkoopUser(Guid userid, double prijs, int bezorgmethode)
        {
            productverkoopadapter.InsertProductVerkoop(verkoopnummer, userid, null, DateTime.Now, prijs,bezorgmethode);
        }

        public void InsertProductVerkoopGast(double prijs, int bezorgmethode)
        {
            productverkoopadapter.InsertProductVerkoop(verkoopnummer, null, gastid, DateTime.Now, prijs, bezorgmethode);
        }

        private int getMaxGastID()
        {
            if (productverkoopadapter.getMaxGastID() == null)
            {
                return 1;
            }
            else
            {
                return (int)productverkoopadapter.getMaxGastID() + 1;
            }
        }

        private int getMaxVerkoopNummer()
        {
            if (productverkoopadapter.getMaxVerkoopNummer() == null)
            {
                return 1;
            }
            else
            {
                return (int)productverkoopadapter.getMaxVerkoopNummer() + 1;
            }
        }

        public int getVerkoopNummer()
        {
            return verkoopnummer;
        }

        public WebshopPizzaRio.App_Code.DAL.BestellenDAL.Membership_NaamAdresWoonplaatsDataTable getUserNAW(Guid userid)
        {
            return useradapter.GetDataByUserId(userid);
        }
    }
}